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 ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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 "targetFailureMode" and "targetDepComponent" in StateBasedAnalysis.
removed "target" 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 "relativePriority" 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 ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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 ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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 ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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 ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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 ("AGREEMENT"). 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'>"Contribution" 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'>"Contributor" means any person or +entity that distributes the Program.</span> </p> + +<p><span style='font-size:10.0pt'>"Licensed Patents " 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'>"Program" means the Contributions +distributed in accordance with this Agreement.</span> </p> + +<p><span style='font-size:10.0pt'>"Recipient" 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 ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") 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 "AS IS" 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 "CONTENT"). 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 + ("EPL"). 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, "Program" 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 ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").</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 ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").</li> + <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".</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 "features". Within a Feature, files named "feature.xml" 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 ("Included Features"). Within a Feature, files named "feature.xml" 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 "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). 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 "src" 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 ("Feature Update License") 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 "license" property of files named "feature.properties" 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 ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). 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> + ("Specification").</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 ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") 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 ("Installable Software Agreement") 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 ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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 ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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 ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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"context" 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"occKind" of <<CHRtSpecification>> 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<<CH_RtSpecification>> note of the element: [{0}] in the package [{1}] having "occKind" member = "PeriodicPattern" : period must be >=0 and WCET and relDl must be both >=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<<CH_RtSpecification>> note of the element: [{0}] in the package [{1}] having "occKind" member = "PeriodicPattern" : phase,priority and relativePriority attributes are not null and then must be all > 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"partWithPort" 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<<CH_RtSpecification>> comment note of the element: [{0}] in the package [{1}] having "occKind" member = "SporadicPattern" : minInterarrival, WCET and relDl attributes must be all >= 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<<CH_RtSpecification>> comment note of the element: [{0}] in the package [{1}] attribute localWCET is not null and then must be > 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<<CH_RtSpecification>> comment note of the element: [{0}] in the package [{1}] the attribute "localWCET" is not null then must be > 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, <<CH_RtSpecificaiton>> 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 <<FlowPort>> 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 <<FlowPort>> 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 <<FlowPort>> should be mapped to parameters according to their directions, 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 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 -> 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 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 "ClientServerPort" + </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 <<DependabilityAnalysisView>> and <<RTAnalysisView>> 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 ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). 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, "Program" 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 ("Redistributor") 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